﻿using Paragon.Geometry;

namespace Paragon
{
    public sealed class Camera
    {
        public Vec3f Origin { get; set; }
        /// <summary>
        /// Camera lookat vector.
        /// </summary>
        /// <remarks>his should be normalized.
        /// Look into computing view plane details from this so we don't have
        /// to perform any odd translations on it.
        /// Compute might be cheaper than translation.</remarks>
        public Vec3f Direction { get; set; }

        public Vec3f Up { get; set; }

        public int ScreenHeight { get; set; }
        public int ScreenWidth { get; set; }
        public float ScreenScale { get; set; }

        public Camera(Vec3f origin, Vec3f direction, int screenWidth, int screenHeight, float screenScale)
        {
            throw new System.NotImplementedException();
        }
    }
}